{
    title:  'ESP Features',
    crumbs: [ ]
}

            <h1>Embedthis ESP&trade; Features</h1>
            <p>ESP includes the following components:</p>
            <ul>
                <li><em>C</em> Language web framework</li>
                <li>Model-View-Controller support</li>
                <li>Application and scaffold generator</li>
                <li>HTTP/1.1 server and client</li>
                <li>Documentation</li>
                <li>Samples</li>
                <li>Source code</li>
            </ul>

            <h2>Feature Overview</h2>
            <h3>Web Framework</h3>
            <ul>
                <li>Web page templates with inline <em>C</em>-code</li>
                <li>Transparent recompilation and browser triggered reload</li>
                <li>MVC web framework</li>
                <li>RESTful URI mapping and routing</li>
                <li>MDB and SQLite databases</li>
                <li>Session and cookie management</li>
                <li>Response caching</li>
                <li>JSON parser for JSON requests and responses</li>
                <li>AJAX and async request support</li>
                <li>WebSockets for full-duplex communications</li>
                <li>Integrated with <a href="https://embedthis.com/expansive/">Expansive</a> for templating and tooling.</li>
                <li>Library of extension packages via <a href="https://embedthis.com/pak/">Pak</a> for package management.</li>
                <li>Library of application skeletons for specific environments.</li>
            </ul>

            <h3>Content Generation</h3>
            <ul>
                <li>Quick-start application skeletons</li>
                <li>Install packages from a large library of ESP and 3rd party packages via the
                    <a href="https://embedthis.com/pak/">Pak</a> Manager and Catalog</li>
                <li>Scaffold generator</li>
                <li>Database migration generation and management</li>
                <li>Client side asset minimization and compression</li>
                <li>Batch compilation</li>
            </ul>

            <h3>HTTP Engine</h3>
            <ul>
                <li>Based on the <a href="https://embedthis.com/appweb/">Embedthis HTTP Engine</a> used in
                    <a href="https://embedthis.com/appweb/">Appweb</a></li>
                <li>Full HTTP/1.1 support</li>
                <li>IPv4 and IPv6</li>
                <li>Multithreaded, event-based server</li>
                <li>Fast co-routine request pipeline</li>
                <li>RESTful request routing with regular expression matching and rewriting</li>
                <li>Supports ranged, chunked and pipelined requests</li>
                <li>Efficient transmission via sendfile and vectored I/O</li>
                <li>Sand-box resource limits</li>
                <li>Monitoring and defensive counter-measures</li>
            </ul>

            <h3>Performance</h3>
            <ul>
                <li>Request throughput (&gt; 40,000 requests per second on PC class system)</li>
                <li>Multi-threaded, event-based core for scale and blocking requests</li>
                <li>Small memory footprint even under heavy load (from 1MB)</li>
            </ul>

            <h3>Modularity</h3>
            <ul>
                <li>Dynamic loading and reloading of applications, pages and controllers</li>
                <li>Configurable request routing</li>
                <li>Extensible/replaceable authorization and SSL</li>
            </ul>

            <h3>Security</h3>
            <ul>
                <li>Secure Sockets Layer (SSL)</li>
                <li>Basic and Digest Authentication</li>
                <li>Route based authorization</li>
                <li>User authentication and role-based security</li>
                <li>XSRF tokens to minimize CSRF threats</li>
                <li>Sandbox limits</li>
                <li>Access and access violation logging</li>
                <li>Safe portable runtime to protect against buffer overflows</li>
                <li>Garbage collector to eliminate memory leaks</li>
            </ul>

            <h3>Developer Support</h3>
            <ul>
                <li>Extensive <em>C</em> API</li>
                <li>Extensive debug trace logging</li>
            </ul>

            <h3>Documentation</h3>
            <ul>
                <li>Full <em>C</em> API Documentation</li>
                <li>Guides and programmer reference</li>
                <li>Cookbook of samples (cut and paste to get going)</li>
                <li>Tutorials</li>
            </ul>

            <h3>Platform Support</h3>
            <ul>
                <li>Linux (2.6 and later)</li>
                <li>Windows (7 and later)</li>
                <li>Mac OSX (10.7 and later)</li>
                <li>VxWorks (6.X)</li>
                <li>Free BSD (10.X)</li>
                <li>Packaged installations for Windows and Mac OSX</li>
            </ul>

            <h3>Embedding Support</h3>
            <ul>
                <li>Supports Arm, Mips, X86, X64 and Sparc processors</li>
                <li>Full cross-compilation support. Use Windows, Linux or Mac as build system</li>
                <li>Fine-grained control for conditional build and compilation</li>
            </ul>
